System and method for movement triggering a head-mounted electronic device while inclined

ABSTRACT

A method includes receiving movement data (pitch movement data, yaw movement data, and roll movement data) from a first device corresponding to movement of an input device. The method also includes receiving acceleration data from a second device corresponding to an acceleration of the input device and detecting a motion of the input device from a reference position based on the movement data and the acceleration data. The motion is defined by a pitch movement from the reference position that exceeds a first predetermined movement threshold value, a yaw movement from the reference position that is below a second predetermined movement threshold value, and a roll movement from the reference position that is below a third predetermined movement threshold value. The pitch movement has an acceleration greater than a predetermined acceleration threshold value. The method further includes triggering a function on the input device in response to detecting the motion.

CROSS-REFERENCES TO RELATED APPLICATIONS

The following regular U.S. patent applications (including this one) arebeing filed concurrently, and the entire disclosure of the otherapplication is incorporated by reference into this application for allpurposes:

-   -   application Ser. No. 15/017,390, filed Feb. 5, 2016, entitled        “METHOD AND SYSTEM FOR CALIBRATING A PEDOMETER”;    -   application Ser. No. 15/017,401, filed Feb. 5, 2016, entitled        “METHOD AND SYSTEM FOR CALIBRATING A PEDOMETER USING AN INERTIAL        MOTION DEVICE”;    -   application Ser. No. 15/017,413, filed Feb. 5, 2016, entitled        “METHOD AND SYSTEM FOR CALIBRATING A PEDOMETER USING AN INERTIAL        MOTION DEVICE AND A LOCATION TRACKING DEVICE”;    -   application Ser. No. 15/017,420, filed Feb. 5, 2016, entitled        “METHOD AND SYSTEM FOR SUPPLEMENTING LOCATION DATA USING AN        INERTIAL MOTION DEVICE”;    -   application Ser. No. 15/017,437, filed Feb. 5, 2016, entitled        “METHOD AND SYSTEM FOR TRIGGERING A HEAD-MOUNTED ELECTRONIC        DEVICE”; and    -   application Ser. No. 15/014,447, filed Feb. 5, 2016, entitled        “METHOD AND SYSTEM FOR DETECTING FATIGUE IN AN ATHLETE”.

BACKGROUND OF THE INVENTION

Sports activities such as jogging, biking, and the like are oftenperformed in conjunction with a device that displays sports-relateddata, for example, pulse, speed, pace, calories burned, and the like.Such sports-related data can be displayed to the person participating inthe sports activities using their sports equipment.

Despite the progress made in the area of sports equipment, there is aneed in the art for improved methods and systems related to sportsequipment.

SUMMARY OF THE INVENTION

The present invention relates generally to electronic devices. Moreparticularly, embodiments of the present invention provide methods andsystems for measuring the distance traveled by a walker/runner using awearable electronic device such as a head-mounted pedometer. In aparticular embodiment, an inertial motion unit is provided that works inconjunction with a display device. In another particular embodiment, theinertial motion unit and a location data unit are provided that worktogether and in conjunction with a device, for example, a displaydevice, although embodiments are not limited to display devices, thatcan present information to the user in a variety of forms includingaudio, video, combinations thereof, or the like. The present inventionis not limited to head-mounted pedometers and is also applicable in avariety of activity monitoring applications.

Although some embodiments are discussed in relation to head-mountedimplementations (e.g., sports glasses), the present invention is notlimited to this form factor and other form factors are included withinthe scope of the present invention, including a waist belt, a chestbelt, and the like. Additionally, although some embodiments discussedherein are exemplified by the tracking of running, the present inventionis not limited to this activity and other activities are included withinthe scope of the present invention, including swimming, biking,cross-country skiing, rowing, paragliding, golfing, ski-touring, andother sports or activities using visual/audio cues. Embodiments of thepresent invention are not limited to sports-based implementations, butcan be applied to a wide variety of occupations such as public serviceofficers including police and firemen, service industries such ascooking, and the like. As described herein, embodiments of the presentinvention do not require the information to be consumed in the momentsince the information can be recorded for later usage.

According to some embodiments of the present invention, a head-mounteddevice is provided that enables a user to measure the distance coveredduring an activity (e.g., running or walking), for example, from thebeginning of the activity to the end of the activity.

Embodiments of the present invention provide methods and systems inwhich two or more sensors are coupled to the same processing unit, whichis capable of discriminating which sensor to use to continuously measureposition. For example, in one implementation, one of the sensors doesnot measure position, distance or speed directly, but infers it from theanalysis of the cyclical (i.e., periodic) movements specific to a sportsactivity, e.g., acceleration of the trunk or head in a verticaldirection (for instance, measured using a pedometer) for running,acceleration of a ski in a horizontal direction for cross-countryskiing, wheel rotations in cycling, or the like, based on a cross-sensorcalibration that can be performed continuously. The information gatheredby the system can be recorded or rendered as a visual or audio signaldelivered to the user.

According to an embodiment of the present invention, a head-mountedelectronic device is provided. The head-mounted electronic deviceincludes an inertial motion unit and a location data unit. Thehead-mounted electronic device also includes an output element, aprocessor, and a memory coupled to the processor.

According to another embodiment of the present invention, an inertialmotion unit for a head-mounted electronic device is provided. Theinertial motion unit includes an accelerometer and an atmosphericpressure sensor. The inertial motion unit also includes a gyroscope anda magnetometer.

According to yet another embodiment of the present invention, ahead-mounted electronic device is provided. The head-mounted electronicdevice includes an inertial motion unit including an accelerometer, anatmospheric pressure sensor, a gyroscope, and a magnetometer. Thehead-mounted electronic device also includes an output element, aprocessor, and a memory coupled to the processor.

According to a specific embodiment of the present invention, a method ofcalibrating a wearable electronic device is provided. The methodincludes providing an indication of a target speed for an activity to auser wearing the wearable electronic device and receiving location datafrom a location data unit during the activity. The method also includesreceiving, concurrently with the location data, user stride dataassociated with the user during the activity and computing a speed ofthe user as a function of the location data as a function of time. Themethod further includes populating a table of the speed of the user as afunction of the user stride data and calibrating the wearable electronicdevice in accordance with the table.

According to another specific embodiment of the present invention, amethod of calibrating a wearable electronic device is provided. Themethod includes initiating an activity having a target speed for aportion of the activity and receiving a series of measurements relatedto a user's stride during the portion of the activity. Each of theseries of measurements includes data associated with the user's stride.The method further includes receiving, concurrently with the series ofmeasurements related to the user's stride, a series of measurements ofthe user's position during the portion of the activity and computing aspeed of the user as a function of the user's position as a function oftime. The method further includes populating a table of the speed of theuser as a function of the data associated with the user's stride andcalibrating the wearable electronic device in accordance with the table.

According to yet another specific embodiment of the present invention, amethod of determining a speed of a user based on a cadence of the userwearing a wearable electronic device is provided. The method includesaccessing a user profile for the user. The user profile includes astride model. The method also includes measuring acceleration data forthe user and detecting impact events using the acceleration data. Themethod further includes computing the cadence of the user anddetermining the speed of the user based on the cadence and the stridemodel.

According to a particular embodiment of the present invention, a methodof calibrating a wearable electronic device including a location dataunit and an inertial motion unit is provided. The method includesproviding a calibration table including default calibration data for thewearable electronic device and determining if location data is availablefrom the location data unit. The method also includes determining if thecalibration table has been updated to achieve predetermined thresholdsand receiving, from the location data unit, location data associatedwith the wearable electronic device as a function of time if thelocation data is available. The method further includes computing atravel speed of the user based on the location data if the location datais available and receiving, from the inertial motion unit, user stridedata as a function of time. Additionally, the method includes updatingthe calibration table using the travel speed and the user stride dataand providing data from the updated calibration table to the user.

According to another particular embodiment of the present invention, amethod of calibrating a wearable electronic device including a locationdata unit and an inertial motion unit is provided. The method includesinitiating a calibration process and providing a calibration tableincluding default calibration data for the wearable electronic device.The method also includes receiving, from the location data unit,location data associated with the wearable electronic device as afunction of time and receiving, from the inertial motion unit, userstride data as a function of time. The method further includes computinga travel speed of the wearable electronic device based on the locationdata, updating the calibration table using the travel speed and the userstride data, and completing the calibration process.

According to yet another particular embodiment of the present invention,a method of updating a calibration table for a wearable electronicdevice including a location data unit and an inertial motion unit isprovided. The method includes providing the calibration table includingdefault calibration data for the user and receiving, from the locationdata unit, location data associated with the wearable electronic deviceas a function of time. The method also includes computing a travel speedof the user based on the location data and receiving, from the inertialmotion unit, user stride data as a function of time. The method furtherincludes receiving, from the inertial motion unit, slope data, computestride metrics using the user stride data, and updating the calibrationtable using the travel speed and the stride metrics.

According to an embodiment of the present invention, a method ofdetermining travel speed of a user having a wearable electronic deviceincluding an inertial motion unit and a location data unit is provided.The method includes receiving, from the inertial motion unit of thewearable electronic device, user stride data and determining thatlocation data is temporarily unavailable from the location data unit.The method also includes computing travel speed using informationrelated to the user stride data and thereafter, determining that thelocation data is available from the location data unit. The methodfurther includes computing an updated travel speed using informationrelated to the location data and providing the user with the updatedtravel speed.

According to another embodiment of the present invention, a method ofdetermining interval duration for a user having a wearable electronicdevice including an inertial motion unit and a location data unit isprovided. The method includes setting a target speed for the user duringa high intensity portion of interval training and receiving, from theinertial motion unit of the wearable electronic device, user stridedata. The method also includes setting a start time for the highintensity portion using the user stride data and receiving, from thelocation data unit, a series of location data for the user. The methodfurther includes determining, using the series of location data, thatthe user has reached the target speed, setting a stop time for the highintensity portion using the user stride data, and determining theinterval duration as equal to a the difference between the stop time andthe start time.

According to yet another embodiment of the present invention, a methodof conserving battery power for a wearable electronic device isprovided. The method includes receiving user stride data and userlocation data associated with the wearable electronic device andcomputing a travel speed for the user as a function of the user stridedata and the location data. The method further includes receiving anindication to deactivate a location data unit of the wearable electronicdevice, deactivating the location data unit, and computing an updatedtravel speed for the user as a function of the user stride data.

According to a specific embodiment of the present invention, a method isprovided. The method includes receiving, by a processor, movement datafrom a first device corresponding to a movement of an input device. Themovement data includes pitch movement data, yaw movement data, and rollmovement data. The method also includes receiving, by the processor,acceleration data from a second device corresponding to an accelerationof the input device and detecting a motion of the input device from areference position based on the movement data and the acceleration data.The motion is defined by a pitch movement from the reference positionthat exceeds a first predetermined movement threshold value. The pitchmovement has an acceleration greater than a predetermined accelerationthreshold value. The motion is also defined by a yaw movement from thereference position that is below a second predetermined movementthreshold value and a roll movement from the reference position that isbelow a third predetermined movement threshold value. The method furtherincludes triggering a function on the input device in response todetecting the motion.

According to another specific embodiment of the present invention, asystem is provided. The system includes a head-mounted input device, aprocessor coupled with the input device, and a gyroscope coupled withthe input device and controlled by the processor. The gyroscope isoperable to track an orientation of the input device including: a pitchof the input device; a yaw of the input device; and a roll of the inputdevice. The system also includes an accelerometer coupled with the inputdevice and controlled by the processor. The accelerometer is operable totrack an acceleration of the input device. The system further includes adisplay device coupled with the input device. The processor triggers afunction of the display device in response to detecting a movement ofthe input device defined by: a rotation in pitch greater than a firstpredetermined threshold angle relative to an initial position; arotation in yaw below a second predetermined threshold angle relative tothe initial position; and a rotation in roll below a third predeterminedthreshold angle relative to the initial position.

According to yet another specific embodiment of the present invention, amethod is provided. The method includes receiving, by a processor,movement data from a first device corresponding to a movement of theinput device. The movement data includes pitch movement data. The methodalso includes receiving, by the processor, acceleration data from asecond device corresponding to an acceleration of the input device anddetecting a motion of the input device from a reference position basedon the movement data and acceleration data. The motion is defined by apitch movement from the reference position in a first direction thatexceeds a predetermined movement threshold value. The pitch movement hasan acceleration greater than a predetermined acceleration thresholdvalue. The motion is also defined by a pitch movement from the referenceposition in a second direction opposite from the first that exceeds thepredetermined movement threshold value. The method also includestriggering a function on the input device in response to detecting themotion.

Numerous benefits are achieved by way of the present invention overconventional techniques. For example, embodiments of the presentinvention provide a compact wearable system that can provide real timedata to the user. By combining a low power consumption inertial motionunit with a location data unit such as a GPS device, embodiments of thepresent invention are able to provide long battery life and accuratedata on the user's speed and distance covered during a workout.Additionally, the inertial motion device can supplement location dataprovided by the location data unit when the location data unit is notable to provide location data. These and other embodiments of theinvention along with many of its advantages and features are describedin more detail in conjunction with the text below and attached figures.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a perspective view of a head-mounted electronic deviceaccording to an embodiment of the present invention.

FIG. 2 is a simplified perspective view of a head-mounted electronicdevice being worn by a user according to an embodiment of the presentinvention.

FIG. 3 is a simplified schematic diagram illustrating elements of awearable electronic device according to an embodiment of the presentinvention.

FIG. 4A is a simplified schematic diagram illustrating an inertialmotion unit according to an embodiment of the present invention.

FIG. 4B is a simplified schematic diagram illustrating a wearableelectronic device according to another embodiment of the presentinvention.

FIG. 5 is a simplified flowchart illustrating a method of estimating auser's speed and distance traveled using an inertial motion unitaccording to an embodiment of the present invention.

FIG. 6A is a simplified flowchart illustrating a method of performinginitial calibration for a wearable electronic device according to anembodiment of the present invention.

FIG. 6B is a simplified flowchart illustrating a method of calibrating awearable electronic device according to an embodiment of the presentinvention.

FIG. 7A is a simplified flowchart illustrating a method of updatingcalibration data for a wearable electronic device according to anembodiment of the present invention.

FIG. 7B is a simplified flowchart illustrating a method of calibrating awearable electronic device including a location data unit and aninertial motion unit according to an embodiment of the presentinvention.

FIG. 7C is a simplified flowchart illustrating a method of determiningtravel speed of a user according to an embodiment of the presentinvention.

FIG. 7D is a simplified flowchart illustrating a method of conservingbattery power for a wearable electronic device according to anembodiment of the present invention.

FIG. 8A is a plot illustrating fusion of inertial motion unit data andlocation data unit data according to an embodiment of the presentinvention.

FIG. 8B is a simplified flowchart illustrating a method of determininginterval duration for a user during interval training according to anembodiment of the present invention.

FIG. 9 is a plot illustrating an initial model of estimated speed vs.measured cadence for a user according to an embodiment of the presentinvention.

FIG. 10 is a plot illustrating an improved model of estimated speed vs.measured cadence for a user according to an embodiment of the presentinvention.

FIG. 11 is a plot illustrating a customized model of estimated speed vs.measured cadence for a user according to an embodiment of the presentinvention.

FIG. 12 is a plot illustrating vertical head acceleration as a functionof time according to an embodiment of the present invention.

FIG. 13 is a simplified flowchart illustrating a method of updating acalibration table according to an embodiment of the present invention.

FIG. 14 is a calibration table for an inertial motion unit according toan embodiment of the present invention.

FIG. 15 is a plot illustrating measured speed vs. time for thecalibration process illustrated in FIG. 6A.

FIG. 16 shows a user wearing a head-mounted electronic device, accordingto an embodiment of the invention.

FIG. 17A shows a user performing a triggering operation on ahead-mounted electronic device, according to an embodiment of theinvention.

FIG. 17B shows an example of a no-trigger operation on a head-mountedelectronic device, according to an embodiment of the invention

FIG. 17C shows a second example of a no-trigger operation on ahead-mounted electronic device, according to an embodiment of theinvention.

FIG. 18 depicts a simplified flow diagram illustrating aspects of amethod of triggering a function on a head-mounted electronic device,according to an embodiment of the invention.

FIG. 19 is a simplified block diagram of a system configured to operatehead-mounted input device, according to an embodiment of the invention.

DETAILED DESCRIPTION OF SPECIFIC EMBODIMENTS

Embodiments of the present invention relate to methods and systems forelectronic devices. More particularly, embodiments of the presentinvention provide methods and systems for measuring the distancetraveled by a walker/runner using a wearable electronic device such as ahead-mounted pedometer.

Sports equipment devices can include location tracking components thatutilize a satellite navigation system (e.g., the Global Position System“GPS”) to track the path followed by the user when, for instance,running. In addition to GPS, other satellite navigation systems can beutilized, including GLONASS, Beidou, or Galileo. In addition to positiontracking functionality, sports equipment devices can include anaccelerometer used to count steps (pedometer), thereby allowing theathlete to determine distance covered when running. In otherimplementations, applications can include step counting, stridemeasurement, step frequency (i.e., cadence), or the like since thelocation data covers position→distance→speed. A location trackingcomponent and an accelerometer can be integrated in sports equipmentdevices. In some implementations, the stride distance is defined usingan average value for users that is determined based on the user'sheight, gender, weight, and the like. In this situation, the computationof the distance covered as being equal to the stride distance times thenumber of steps is typically only accurate plus/minus 30%. In contrastwith these conventional systems based on averages of characteristics ofpeople similar to a user, embodiments of the present invention providesystems that are customized to a particular user based on the user'sspecific behavior during an activity. Embodiments of the presentinvention provide more reliable results than conventional systems sincethe actual characteristics of the user (e.g., stride length) can beclose to the model based on group averages, or very far depending on theparticular user's characteristics.

An issue presented when location tracking components (e.g., a GPS-baseddevice) are utilized is that the sports equipment device can require twoseparate units, with the first unit placed on the body (e.g., a GPSreceiver) and the second unit on the feet (e.g., a pedometer) that needto be connected and synchronized.

According to embodiments of the present invention, the location dataunit and the inertial motion unit, which includes an accelerometer,working in conjunction, can be utilized to calibrate the user's stridewith high precision as a function of time during the activity. As anexample, as the user walks, runs, or the like, on different surfaces(e.g., level pavement vs. a trail in the woods) the stride changes onthe different surfaces. Another example, is climbing and descending,which results in differing stride distances. Moreover, the user's speedcan impact the stride, with differing stride length for walking vs.running slowly vs. running fast. The location of the user, for example,at each stride or for a set of strides, as measured using theaccelerometer, can be used to determine stride distance with highaccuracy. Given accurate stride distance, the system is able tointerpolate distance and thus speed when the location data is notavailable, for example, coverage gaps in dense cityscape and landscapesuch as a tree canopy, increasing system accuracy in comparison withconventional techniques.

An issue that the inventors have appreciated with conventional systemsusing GPS tracking is that the signals from the GPS satellites can beblocked, for example, as a result of shadows cast by buildings indowntown areas or by trees in a wooded environment. When the GPS signalis lost, the GPS location accuracy decreases.

Additionally, during interval training in which the user's speed isvarying quickly, GPS systems are characterized by a latency that canlead to inaccurate GPS location measurements. Some embodiments of thepresent invention supplement location measurements from the locationdata unit using the inertial motion unit in order to improve theaccuracy of the location measurements. As an example, for a personperforming interval training, a GPS system would not typically capturethe change in speed at the beginning of the high intensity portion of aninterval as a result of latency. Embodiments of the present inventionaddress this issue by fusing data from the inertial motion unit and thelocation data unit to provide increased accuracy during the beginning ofthe intervals as well as during the stable portion of the activity, inwhich the location data unit provides accurate information.

A further problem with location data units (e.g., GPS-based devices) isthat when the user switches on the GPS and starts to run, walk, bike,etc., the GPS takes between 30 seconds and 20 minutes to track thesatellites and lock to them (known also as TTFF—time to first fix). Thisimplies that location data is not available for the early portion of theactivity. Thus, the user cannot accurately measure the distance covered,their speed, or other related data about their activity. This lack ofinformation will impact the accuracy of the recorded data.

FIG. 1 is a perspective view of a head-mounted electronic deviceaccording to an embodiment of the present invention. In the embodimentillustrated in FIG. 1, the head-mounted electronic device 100 isimplemented in a form factor of a pair of glasses, which include amicro-projection component 102 for projecting an image that is viewableto a user's eye, a control component 103 and an optional remote control105. The head-mounted electronic device 100 can also be referred to as awearable electronic device. Referring to FIG. 1, the micro-projectioncomponent 102, which can also be referred to as a display, and thecontrol component 103 can be mounted onto existing glasses serving asthe platform for the head-mounted electronic device 100. In someembodiments, electrodes 104 are utilized to sense the user's heart rate,for example, at the temple as illustrated.

In another embodiment, the micro-projection component 102 and thecontrol component 103 can be integral with dedicated glasses or goggles.The micro-projection component 102 can be connected with the controlcomponent 103 over a wired or wireless connection. In anotherembodiment, the micro-projection component 102 and the control component103 can be integrated into a single device.

As described herein, the micro-projection component 102 can be used todisplay information to the user, for example, information provided bythe control component 103. In addition to visual output, themicro-projection component can integrate audio output in order tocommunicate information to the user by way of sound, for example, audiomessages, vibration, or the like. The control component can include amemory as described in relation to FIG. 4B to record information andmake it available for later download. The data measured by the sensorsand produced by the control component can be displayed through a userinterface that is directly projected into the user's eye in the case ofa retinal display. In an alternative embodiment of the invention, theuser interface can be displayed on an LCD screen. In another embodiment,the user interface is projected by a device arranged to perform anindirect projection of an image. Thus, embodiments of the presentinvention provide an integrated system that contrasts with conventionaldevices that are wrist or foot mounted and require a separate displayand feedback system. One of ordinary skill in the art would recognizemany variations, modifications, and alternatives.

According to an embodiment, information is displayed to the user througha heads-up display unit integrated into the head-mounted electronicdevice. By mounting the display at eye level, the information for theuser can be displayed in the user's line of sight during the activity.Information on the activity can be displayed using sound, images,numbers such as speed, pace, time elapsed, heart rate, altitude, or thelike, plots, video, emission from a set of lights (e.g., LEDs), or thelike. In general, three types of data can be displayed: physiological(e.g., heart rate, heart rate zone, etc.); technique (e.g., contacttime, time of flight, etc.); and physical (e.g., speed, altitude, etc.).Embodiments of the present invention can provide real time feedback tothe user via the heads-up display unit rather than just reporting onpast action. The real time feedback enables a feedback loop for the userthat facilitates improved training.

Information can be displayed in a variety of manners, including:on-demand; periodically (e.g., every kilometer); alerts based onspecific conditions (e.g., variance in stride length); or continuously.Alphanumeric output (e.g., pace at each kilometer) as well as visualoutputs (e.g., plots showing trends over time) are included in theinformation that can be displayed. In some embodiments, a combination ofaudio and visual information is utilized, for example, an audio promptmay alert the user to look at the display, which can be mounted at eyelevel to the left or right of the user's line of sight looking straightahead. By combining audio and visual information, embodiments of thepresent invention assist the user in interpreting information. Forexample, if the user has a target speed to run at during intervaltraining, a visual cue (e.g., lights on the right side indicating anincrease in speed is needed) can be combined with an audio cue (e.g., anaudio sound with an increasing pitch). Similarly for slowing down duringthe low intensity portion of an interval, lights on the left could lightand be accompanied by an audio sound with a decreasing pitch.

Although the embodiment illustrated in FIG. 1 illustrates the remotecontrol 105 as a separate device, in other embodiments, the remotecontrol 105 can be integrated into the head mounted electronic device100.

The location data unit (e.g., a GPS system) can provide information onthe location of the user with high accuracy. Some embodiments of thepresent invention track the position as a function of time to identify apath that can be overlaid on a map. Additionally, the speed can bedetermined using the position of the user as a function of time. In someembodiments, the location data unit is used to calibrate the user'sstride value in a continuous process, e.g., a real time calibration,during an activity. In addition to the user's stride, othercharacteristics of the user and the activity can be calibratedcontinuously, for example, at predetermined increments such as 1 second,5 seconds, 10 seconds, smaller time intervals, larger timer intervals,or the like. These other characteristics can include speed, slope, andelevation and the data can be recorded in tables or converted intocurves, for instance, speed v. stride, speed vs. slope, stride vs.elevation, other combinations, and the like.

Accordingly, embodiments of the present invention can utilize contextualinformation such as the slope of the terrain, for instance, as the userrunning uphill, downhill, or on a level surface, to provide the userwith an estimate of the current speed of the activity. Since stridechanges as a function of the contextual information, a comprehensivemodel, which can be referred to as a stride length table, can beassembled that includes stride length vs. speed, stride length vs.slope, and the like. Such a table can be converted to amulti-dimensional model as appropriate.

Embodiments of the present invention provide a seamless calibrationexperience for the user since the location data unit, working inconjunction with the inertial motion unit, can provide real timecalibration during the activity. When the location data is not asaccurate as desired or unavailable, for example, prior to TTFF, theinertial motion unit can provide the desired speed data based on storeddata, for example, the stride length table. Over a longer time period,for example, as the user loses weight or increases their fitness over aperiod of several months, the real time seamless calibration can updatethe stride length table to match the user's changed characteristics.

FIG. 2 is a simplified perspective view of a head-mounted electronicdevice being worn by a user according to an embodiment of the presentinvention. In the embodiment illustrated in FIG. 2, a gyroscope 222, anaccelerometer 224, a magnetometer 226, and an atmospheric pressuresensor 228 are integrated into the frame of sports glasses 46.Additional description related to these elements, which can becomponents of an inertial motion unit, are provided in relation to FIGS.4A and 4B.

FIG. 3 is a simplified schematic diagram illustrating elements of awearable electronic device according to an embodiment of the presentinvention. The elements include a location data unit (e.g., a GPSsensor) 310, an inertial motion unit 320, an optional pulse monitor 350,an output unit 332, a processor 330, and a memory 340. In thisimplementation, a wearable electronic device is provided that includesboth an inertial motion unit 320 and a location data unit 310. Theoutput unit 332 can be an audio unit, a visual unit, such as a retinaldisplay or a display that utilizes a set of LEDs, a screen that candisplay images or video, or the like, or a combination thereof. Workingin conjunction, the location data unit can be used to calibrate theinertial motion unit based on accurate location data. When the locationdata is not available or experiences a decrease in accuracy, theinertial motion unit can provide information on the user's movement tocompensate for the lack or inaccuracy of the location data andsupplement the location data. Referring back to FIG. 1, one or moreelements illustrated in FIG. 3 can be implemented as elements of thecontrol component 103.

As described herein, the various elements of the wearable electronicdevice can be synchronized using a common time base in order tofacilitate data fusion. In some embodiments, the elements of FIG. 3 areimplemented in a single integrated system. In other embodiments,separate components are utilized and assembled to form the system. Theprocessor 330 receives data from the location data unit 310 and theinertial motion unit 320 and processes this data to provide output thatcan be displayed on the display 102. In some embodiments, an optionalpulse monitor 350 is provided. As an example, the optional pulse monitorcan be implemented in the nose bridge of the glasses in one embodiment,providing the user's pulse as a function of time.

As described herein, some embodiments utilize both a location data unit310 and an inertial motion unit 320, whereas in other embodiments, asillustrated in FIG. 4B, the location data unit is optional. Thus,although FIG. 3 illustrates location data unit, not all embodimentsutilize this element, for example, to reduce system cost.

FIG. 4A is a simplified schematic diagram illustrating an inertialmotion unit according to an embodiment of the present invention. Theinertial motion unit 320 could be integrated into a head-mounted devicesuch as a pair of glasses to provide activity information for a userindependent of a location data unit such as a GPS module. In thisembodiment, the inertial motion unit 320 can provide speed, distance,and the cadence for instance, in applications where the user is notinterested in recording position with respect to a map. In some cases,the system including location tracking as illustrated in FIG. 3 could beoperated at a low power mode by disabling the location tracking,resulting in an inertial motion unit based system.

In an embodiment, the elements illustrated in FIG. 3 other than thelocation data unit 310 are included in a wearable electronic device. Inthis embodiment, the wearable electronic device including the inertialmotion unit can be calibrated using an external or separate locationtracking device (e.g., a GPS device or an electronic device with GPScapability) to improve the accuracy of the wearable electronic device incomparison to conventional techniques.

Calibration of an inertial motion unit based system is described inrelation to FIGS. 6A and 6B in which a separate device includinglocation tracking (e.g., a mobile phone with a GPS unit) can be carriedby the user during the initial calibration process. Given the locationdata from the separate device, the stride length is determined and usedto calibrate the system, obviating the use of the separate device duringsubsequent operation. Calibration updates can be performed as desired.

Referring to FIGS. 1 and 4A, the control component 103 of thehead-mounted electronic device 100 can be implemented to include aninertial motion unit 320. As described below, the inertial motion unit320 can include sensors, a processor, and memory, including a gyroscope222, an accelerometer 224, a magnetometer 226, and an atmosphericpressure sensor 228, among other sensors. According to embodiments ofthe present invention, the inertial motion unit can be used toaccurately measure a user's speed/distance without the assistance of alocation data unit. Additionally, as described in relation to FIG. 7C,the inertial motion unit can be used in conjunction with a location dataunit to compensate for the temporary lack of location data due, forexample, to latency, locking latency, signal loss, and the like.Accordingly, the combination of the inertial motion unit with thelocation data unit provides accurate information for the user in a widevariety of conditions.

According to an embodiment of the present invention, each of theelements of the inertial motion unit 320 provides information that canbe utilized separately or in combination. As an example, the gyroscope222 can be used to measure direction changes as the user moves (e.g., asa runner changes direction during a run). Additionally, the gyroscopecan be used to detect movement of the user's head, which can then beused to trigger display of information on the heads-up display. As anexample, in order for the user to be presented with data on their speedor other suitable metrics, the user can take a predetermined action, forexample, tilting their head down, tilting their head down and then backup, quickly looking to the right or left, or the like. The gyroscopewill detect the motion of the user's head and trigger display of thedesired information in an on-demand manner. Additional descriptionrelated to triggering of information output is provided in relation toFIGS. 16-19. Thus, the user is able to obtain data related to theactivity without manual entry of the request using their hands. In someembodiments, specific motions can be detected using the gyroscope inorder to discriminate against common motions that occur during theactivity, including looking down at your watch, looking to the side, forexample, down a street at an intersection to look for traffic, and thelike. One of ordinary skill in the art would recognize many variations,modifications, and alternatives.

The accelerometer 224 can sense the shock associated with the user'sfoot hitting the ground and, therefore, can measure the steps that therunner makes since the stride length times the frequency is the runner'sspeed. In an embodiment, a three-axis accelerometer is utilized in whichthe vertical (head-up) acceleration values are used to determine theuser's cadence. As the user's foot hits the ground, the accelerometerexperiences a change in acceleration that can be used to determine thecadence. These acceleration changes associated with strides as afunction of time can be used to measure the speed of the runner and thedistance run by the runner. Using a three-axis accelerometer, it ispossible to use one axis to measure the stride/speed while the otheraxes are used to discriminate natural events like, for example, when therunner looks at a watch that is on his/her wrist.

The magnetometer 226, which may be a three-dimensional magnetometer, isable to measure the magnetic field of the earth in order to indicateNorth with reference to the earth's magnetic field and provides dataassociated with a compass. By using a 3D magnetometer, North can bedetermined even if the magnetometer's axes are not aligned with thehorizontal. The magnetometer can detect changes in the user's direction,which can be used to reconstruct the path independent of or in place ofthe location tracking data when the location data unit is not operative.Using the magnetometer, the user's route can be tracked based on theuser's starting point, the directions that the user is moving during theactivity (e.g., represented by segment vectors), and the speed in amanner similar to dead reckoning.

The atmospheric pressure sensor 228 can provide data on the altitude ofthe user as well as the altitude change that the user experiences duringuse. In some embodiments, the data from the atmospheric pressure sensorcan be utilized to determine periods during which the user is running onlevel surfaces, uphill, or downhill. In some implementations, theabsolute altitude above sea level (or other suitable reference) is notneeded and the relative altitude change is sufficient, providinginformation on the altitude gain/loss during a predetermined period.During training routines, the user is able, therefore, to obtaininformation on climbing and descending rates as a function of time(i.e., the profile of the activity) during the training routine. Theelevation data is available to the user throughout the activity (e.g.,immediately), in contrast with systems that record elevation data (e.g.,by tracking GPS position) but only make it available after completion ofthe activity and downloading of the data. One of ordinary skill in theart would recognize many variations, modifications, and alternatives. Asdescribed more fully herein, data provided by the atmospheric pressuresensor 228 can be used to populate a calibration table including userspeed as a function of the slope of the terrain, the user's stridelength, and the like. Accordingly, changes in slope can be taken intoaccount using such data.

By combining distance data coming from the accelerometer 224 with thedirection data of the magnetometer 226, the processor 330 canreconstruct the path followed by the runner. The tight coupling betweenthe location data (e.g., provided by a GPS sensor) and the movementsensing performed by the motion sensors of the inertial motion unit 320offers a unique perspective on the usage context, e.g., whether the useris following a predefined training program.

In some embodiments, a system is provided in which the inertial motionunit 320 provides functionality absent a location data unit. As anexample, a wearable activity tracking system is provided that isinexpensive, light weight, and simple. The inertial motion unit iscalibrated, for example, using a smart phone or other deviceincorporating a location data unit such as a GPS location determinationsystem. During a calibration activity such as running, the userpossesses both the inertial motion unit and the location data unit. Thelocation data unit is used to calibrate the inertial motion unit thatmeasures the user's stride. During subsequent use, the user is notrequired to utilize the location data unit, but can rely on the inertialmotion unit to provide high accuracy measurements of the activity.

FIG. 4B is a simplified schematic diagram illustrating a wearableelectronic device according to another embodiment of the presentinvention. The wearable electronic device shares common elements withthe inertial motion unit 320 described in FIG. 4A and the descriptionprovided in FIG. 4A is applicable to the elements illustrated in FIG. 4Bas appropriate.

Referring to FIG. 4B, the wearable electronic device 450 includes aninertial motion unit 320 that can include an accelerometer 224, apressure sensor 228, a gyroscope 222, and an optional magnetometer 226.Additionally, the wearable electronic device 450 includes a processor452, an output unit 456, which can be an audio/visual display, and amemory 454 coupled to the processor. The functionality of the variouselements has been described in detail in relation to FIGS. 3 and 4A andthat description is applicable to FIG. 4B as appropriate.

The wearable electronic device 450 can be utilized as a stand-alonedevice independent of a location data unit. In some implementations,disabling of the location data unit in the device illustrated in FIG. 3will result in the functionality associated with the elementsillustrated in FIG. 4B.

FIG. 5 is a simplified flowchart illustrating a method of estimating auser's speed and distance traveled using an inertial motion unitaccording to an embodiment of the present invention. The method can beutilized to perform initial calibration of the inertial motion unit inthe absence of location data. The inertial motion unit can beimplemented as illustrated in FIG. 4A and can be a component of theelements of the electronic wearable device 100 illustrated in FIG. 1.The method includes receiving a user profile (510). The user profile caninclude information about the user including gender, height, weight, andother pertinent data. Based on the user profile, an initial model of theestimated speed as a function of measured cadence is defined. As anexample, FIG. 9 is a plot illustrating an initial model 900 of estimatedspeed vs. measured cadence for a user according to an embodiment of thepresent invention.

In some embodiments, a network effect is achieved as additionalinformation is available for the user. As users utilize the systemsdescribed herein, a statistical analysis of the community of usershaving common demographics, e.g., gender, height, and age, can be usedto refine the initial model illustrated in FIG. 9. By comparing aparticular user to a population subgroup, deviation from the norm forthe person in one characteristic can be used to compute deviation fromthe norm in other characteristics. FIG. 10 is a plot illustrating animproved model of estimated speed vs. measured cadence for a useraccording to an embodiment of the present invention. As illustrated inFIG. 10, sub-groups for group 1 (curve 1010) through group n (curve1012) can be defined and assigned unique curves of estimated speed vs.measured cadence. As illustrated in FIG. 10, the user's group 1014enables the inertial motion unit to provide a model for the user that ismore accurate and as the number of users increases, the precision of themodel increases.

As an example, considering a system that bases stride length onpopulation averages, a user's stride length could be set at 1 meter as adefault value. Once the user provides some personal information, forexample, height, gender, and age, the estimate for the user's stridelength can be adjusted, for example, to 95 cm, which is more likelygiven their characteristics. The larger the population with the user'scharacteristics, the more accurate the refined estimate.

The method also includes performing an optional calibration process(512). The calibration can be a one-time calibration for a system thatdoes not include a location data unit as an integral unit, but canutilize data from a separate location data unit as discussed in relationto the method illustrated in FIG. 6A. Alternatively, the calibration canbe a calibration process (e.g., a continuous calibration process) usinga location data unit as illustrated in FIGS. 7A and 7B. The accelerationof the user's head is measured (514) using the accelerometer that ispart of the inertial motion unit. FIG. 12 is a plot illustratingvertical head acceleration as a function of time according to anembodiment of the present invention. As illustrated in FIG. 12, theacceleration profile can be characterized by several parametersincluding contact time, flight time, the step cycle time, and the stridefrequency, which is the inverse of the step cycle time. It should benoted that in a wrist-mounted device, the contact time may not be ableto be measured based on the motion of the arm.

Referring to FIG. 12, embodiments of the present invention compute theflight time ratio as the flight time (i.e., the step cycle time minusthe contact time) divided by the step cycle time. In other embodiments,the contact time ratio (contact time divided by the step cycle time) canbe utilized in conjunction with or in place of the flight time ratiosince they are related to each other. The accelerometer of the inertialmotion unit measures the acceleration of the head as illustrated in FIG.12. Every time the foot impacts on the ground, there is negativeacceleration, whereas when the person is between impacts, both feet areoff the ground for a period referred to as the flight time. The slower aperson runs, the longer the contact time is in relation to the totalstep cycle time. Accordingly, it is possible to determine that theperson is actually running at slow speed based on the flight time ratioand therefore a better speed estimate is achieved. Because therelationship between speed and cadence is not linear with a very lowslope for low speeds (e.g., 7 to 10 km/hr), the difference betweenwalking and jogging and running slowly results in a difference in thecadence as well as in the pattern of how long the foot rests on theground at each and every step. Some embodiments of the presentinvention, therefore, utilize the flight time ratio in addition to or inplace of the computation of speed based on cadence, for which thefrequency of impacts of the feet on the ground is tracked by measuringthe maximum in amplitude of the vertical head acceleration/deceleration.Accordingly, some embodiments of the present invention enable the systemto increase the measurement of the user speed without the need forlocation tracking information.

The inventors have determined that the use of a head-mounted deviceenables superior isolation of the user's movement than achievable usingwrist-mounted devices. As a result, the mounting of the wearableelectronic device on a user's head provides benefits not available usingconventional systems. As an example, for a wrist-mounted device, themotion of the arms may not correspond to the user's stride, resulting inerroneous stride number and length measurements. Since the head moveswith the trunk and has the same acceleration profile as the body'scenter of gravity, the head is a stable platform that provides anaccurate proxy for the body's motion and acceleration measured at thehead is an accurate indicator of the user's strides. Generally, duringan activity such as running or walking, the head is substantiallyvertical and the eyes are level. Even as the slope changes, the eyestend to stay substantially level.

The method includes detecting impacts associated with the accelerationpeaks that define the impact of the user's feet on the ground (516). Thecadence is computed (518) based on the frequency of the steps and can bedetermined without distinguishing between left and right feet. Given themeasured cadence, the speed can be computed based on the model for theuser as illustrated in FIGS. 9-11. As discussed above, the initial orgeneric model illustrated in FIG. 9 utilizes a universal stride lengththat is a function of cadence. The improved model illustrated in FIG. 10utilizes a specific stride length to cadence relationship that isspecific to a subgroup of the population to which the user is associatedbased, for example, on gender and height. The customized or individualmodel illustrated in FIG. 11 is an individual model that relies on acalibrated stride as a function of cadence relationship. Given the speedof the user, the distance can be computed as the integration of thespeed over time (522) and then the data can be displayed to the userwith a high accuracy.

Referring once again to FIG. 5, a summary of the method of determining aspeed of a user based on a cadence of the user wearing a wearableelectronic device is provided as follows. The method includes accessinga user profile for the user (510). The user profile includes a stridemodel, which can be a default stride model based on the user's genderand height. The user profile can be filled out by the user after initialpurchase or the device can ship with default models. The method alsoincludes measuring acceleration data for the user (512). In someembodiments, the wearable electronic device is head-mounted and theacceleration data is the acceleration of the user's head as they move,resulting in high quality acceleration data.

The method further includes detecting impact events using theacceleration data (516). As described in relation to FIG. 12, thecontact time, flight time, and the like can be extracted given theacceleration data. The cadence of the user is then computed (518) andcan be stored as steps per minute or the like. In some implementations,the cadence is computed without distinguishing right and left steps. Themethod also includes determining the speed of the user based on thecadence and the stride model (520). In some embodiments, the methodoptionally includes determining a distance traveled by the user based onthe speed of the user (522).

Calibration of the wearable electronic device can be performed using oneof several methods described herein. As an example, calibration can beperformed by analyzing user stride data and user location data. Forinstance, the user stride data can be provided by an inertial motionunit in the wearable electronic device and the user location data can beprovided by a location data unit in a device separate from the wearableelectronic device, for example, a smart phone with GPS. Alternatively,in some embodiments in which the wearable electronic device includescomponents as illustrated in FIG. 3, an inertial motion unit in thewearable electronic device provides the user stride data and a locationdata unit in the wearable electronic device provides the user locationdata.

It should be appreciated that the specific steps illustrated in FIG. 5provide a particular method of estimating a user's speed and distancetraveled using an inertial motion unit according to an embodiment of thepresent invention. Other sequences of steps may also be performedaccording to alternative embodiments. For example, alternativeembodiments of the present invention may perform the steps outlinedabove in a different order. Moreover, the individual steps illustratedin FIG. 5 may include multiple sub-steps that may be performed invarious sequences as appropriate to the individual step. Furthermore,additional steps may be added or removed depending on the particularapplications. One of ordinary skill in the art would recognize manyvariations, modifications, and alternatives.

FIG. 6A is a simplified flowchart illustrating a method of calibrating(e.g., performing initial calibration of) a wearable electronic deviceaccording to an embodiment of the present invention. This calibrationprocess can be used to refine an initial model of the stride length forthe user by measuring the user's location using a location data unitduring a calibration process and correlating the user's location withthe user's steps as described below.

As described herein, the stride length can be measured as a function ofseveral variables, including the user's speed. Given the stride length,by counting steps as a function of time, the user's speed and distancerun can be calculated. Some embodiments utilize an iterative process inwhich the user's speed and other variables are then used to update thecalibration table. One of ordinary skill in the art would recognize manyvariations, modifications, and alternatives.

As an example, the wearable electronic device can be calibrated inaccordance with the following procedure. The user initiates the activitywith both an electronic location tracking device (e.g., a smart phone)and the inertial motion unit that is present as an element of thewearable electronic device. For example, the user can start a runcarrying a smart phone in their pocket and wearing sports glassesincluding the inertial motion unit. An output element (e.g., a display)of the wearable electronic device can prompt the user to vary the speedof the run in a predetermined manner, for example, an increase in speedof a certain amount every 30 seconds. The speed of the user can bedetermined using the location data provided by the location data unit asa function of time. Feedback can be provided to the user through thewearable electronic device in real time or at selected intervals toinform the user of their speed in relation to the target speed. As thespeed increases, the stride length vs. the speed is recorded.Accordingly, a curve of stride length vs. speed can be defined for theuser over a range of speeds, for example, up to a maximum speed. For agiven user, the stride length vs. speed curve will not changeappreciably over time, providing for accurate measurement of speed basedon the user's stride and cadence, which can be measured using theinertial motion unit independent of the location tracking device.

Referring to FIG. 6A, this method of calibration can be implemented bydetermining if a location data signal is locked (610), for example, aGPS signal from a smart phone that is separate from the wearableelectronic device. If the location data signal is not locked, then awarning message may be generated (612) indicating that calibrationcannot be completed. The method can then be terminated (626) or theprocess can be initiated again (605) until the signal is locked, therebyproviding accurate location data for the user during the activity.Alternatively, the user can be prompted to calibrate the inertial motionunit on a track or other defined distance location (614) since bywalking or running a known distance, the calibration can be performed.

Once the location data signal is locked (610), the maximum anaerobicspeed (MAS) test is initiated by providing the user with a target speedfor a first time period (e.g., 30 seconds) of an activity (620). As theuser proceeds at the target speed, the location data is received (e.g.,from the smart phone that the user is carrying) by the wearableelectronic device (622). As the user continues to proceed at the targetspeed, the inertial motion unit provides user stride data (622). Theuser stride data is received concurrently with the location data in someembodiments and can include the stride value and the flight time ratioand the step cycle time for the current speed. In some embodiments, thecontact time ratio and the step cycle time are utilized. As will beevident to one of skill in the art, given the contact time and the stepcycle time, the flight time and flight time ratio can be computed. Inalternative embodiments the flight time and the step cycle time areprovided and the contact time and the contact time ratio and/or theflight time ratio are computed.

The user's speed as a function of the location of the user as a functionof time is computed for the portion of the activity (624). Given thespeed data and the user stride data, a calibration table is populatedthat lists the speed of the user as a function of the user stride data(625). As an example, the speed can be a function of the measuredvariables as illustrated in FIG. 14. As an example, the measuredvariables can include the stride length, the stride frequency, theelevation (e.g., the altitude above sea level) of the user during theactivity, the slope of the ground during the relevant portion of theactivity, the contact time, the contact time ratio, the flight time, theflight time ratio, impact force, subsets of this data, and the like.

The user is given the option to stop the recording (and populating thecalibration table) (626) and the device is calibrated using the table(630). In some embodiments, the calibration table is stored and thenaccessed by the device during use to determine distance traveled andother parameters for the user's activity. Alternatively, the user cancontinue recording and increase the target speed for the next timeperiod (628). As an example, for the next 30 seconds, the speed could beincreased by 1 mile/hour and the user can be informed of this increasein the target speed. At this new speed, location data and the userstride data from the inertial motion unit are received for the currenttarget speed (622) and the table is populated further (625) based on thespeed computation (624). The process is repeated until the user hasreached the MAS and terminates the method (626), thereby completing thecalibration of the device in accordance with the populated table (630).

It should be appreciated that the specific steps illustrated in FIG. 6Aprovide a particular method of calibrating a wearable electronic deviceaccording to an embodiment of the present invention. Other sequences ofsteps may also be performed according to alternative embodiments. Forexample, alternative embodiments of the present invention may performthe steps outlined above in a different order. Moreover, the individualsteps illustrated in FIG. 6A may include multiple sub-steps that may beperformed in various sequences as appropriate to the individual step.Furthermore, additional steps may be added or removed depending on theparticular applications. One of ordinary skill in the art wouldrecognize many variations, modifications, and alternatives.

FIG. 6B is a simplified flowchart illustrating a method of calibrating awearable electronic device according to an embodiment of the presentinvention. The method illustrated in FIG. 6B can be used to calibrate awearable electronic device that includes an inertial motion unit and canwork in conjunction with a separate device that includes a location dataunit, for example, a smart phone including GPS. The method discussed inrelation to FIG. 6B includes common elements shared with the methoddiscussed in relation to FIG. 6A and the discussion provided in relationto FIG. 6A is applicable to FIG. 6B as appropriate.

The method includes initiating an activity by setting a target speed fora portion of an activity, which can be a calibration activity (650). Themethod also includes receiving a series of measurements related to auser's stride during the portion of the activity (652). Each of theseries of measurements includes data associated with the user's stride.As an example, the data associated with the user's stride can include acontact time, a step cycle time, a flight time, a contact time ratio,and a flight time ratio. In addition to these parameters, each of theseries of measurements can also include data associated with anelevation of the user as well as a slope of a portion of the activitylocation. In some embodiments, receiving the series of measurementsrelated to the user's stride can also include receiving accelerometerdata from an inertial motion unit.

The method also includes receiving a series of measurements of theuser's position during the portion of the activity (654). In someimplementations, the position measurements are received concurrentlywith the series of measurements related to the user's stride. In otherembodiments, the position measurements can be stored on the remotedevice and received after the stride measurements and then used asdescribed below.

The method further includes computing a speed of the user as a functionof the user's position as a function of time (656). In some embodiments,the GPS location data is used to determine the user's speed as afunction of time during each portion of the activity. Given the speeddata, the method includes populating a table of the speed of the user asa function of the data associated with the user's stride (658). As anexample, a table similar to the one illustrated in FIG. 14 can bepopulated so that calibration data for the wearable electronic devicecan be generated and stored (662).

As illustrated in FIG. 6B, the calibration table can be populated forseveral portions of the calibration activity. As an example, the targetspeed could vary over a range of speeds, for example, from low to highspeeds. If the next portion is to be used, then the method can includereceiving an indication to continue calibration, for example, from theuser, and the target speed can be increased for the next portion (670).An indication can be provided to the user to indicate the new targetspeed (670) and the method iterates by continuing to 652. During theiteration, the new target speed is used in place of the initial targetspeed, enabling additional population of the calibration table. One ofordinary skill in the art would recognize many variations,modifications, and alternatives.

It should be appreciated that the specific steps illustrated in FIG. 6Bprovide a particular method of calibrating a wearable electronic deviceaccording to an embodiment of the present invention. Other sequences ofsteps may also be performed according to alternative embodiments. Forexample, alternative embodiments of the present invention may performthe steps outlined above in a different order. Moreover, the individualsteps illustrated in FIG. 6B may include multiple sub-steps that may beperformed in various sequences as appropriate to the individual step.Furthermore, additional steps may be added or removed depending on theparticular applications. One of ordinary skill in the art wouldrecognize many variations, modifications, and alternatives.

In alternative embodiments, the wearable electronic device illustratedin FIG. 4B can be calibrated by running or walking a prior knowndistance and allowing the device to calculate the athlete's currentstride value. As discussed herein, the stride parameters, includingcontact time, flight time, stride frequency, and the like, can varyaccording to several parameters like degree of fatigue, nature of thetrack during calibration (e.g., soft or hard surface), slope of thetrack and the like. One of ordinary skill in the art would recognizemany variations, modifications, and alternatives.

FIG. 15 is a plot illustrating measured speed vs. time for thecalibration process illustrated in FIGS. 6A and 6B. The target speed ateach speed interval is illustrated as curve 1510. The speed of the usermeasured using the location data unit is illustrated as curve 1520.Speed S₀ is the initial speed as the MAS test begins at 620/650. At timet₁, the speed is increased to speed S₁ for the time interval thatextends from time t₁ to time t₂. The cadence is measured and recorded asthe user's speed stabilizes at each time interval. In addition tocadence, other variables can be measured and recorded, including contacttime, flight time, contact time ratio, flight time ratio, and the like.

In addition to this calibration process, additional calibrationprocesses can be performed and the calibration table updated fordifferent conditions, including at different altitudes, different slopes(uphill, downhill), differing terrain types (e.g., rocky path, pavedpath etc.), and the like. Using the components of the inertialmeasurement unit, the presence of differing terrains can be determinedbased on the user's deviation from or adherence to a single direction,for example.

In some embodiments, during the user's activity, the calibration tableis updated in real time using data from the inertial motion unit (whichcan include an atmospheric pressure sensor and a magnetometer) and thelocation data unit. The location data is utilized in conjunction withthe inertial motion unit data to determine stride length in context,i.e., speed, slope, terrain type, etc., and the stride length table isupdated to reflect accurate values or to refine values already present.When the location data is not accurate or not available (e.g., at thebeginning of a run prior to the TTFF), the stride length extracted fromthe table can then be used given the current context to determine theuser's speed and other characteristics of the activity. As anotherexample, during interval training, the data from the inertial motionunit can override the data from the location data unit to compensate ofthe latency of the location data unit.

FIG. 7A is a simplified flowchart illustrating a method of updatingcalibration data for a wearable electronic device according to anembodiment of the present invention. Referring to FIG. 7A, the methodincludes starting exercise (710), which can include recording of datafrom the sensors. A determination is made if the location tracking datais available (e.g., if the GPS signal is locked) (712). The locationdata may not be available for several reasons, including prior to TTFF.The condition of not being available may include conditions in which thelocation signal is partially available, but not as accurate as desired,for example, when a number of GPS satellites are not in view, or thelike.

If the location tracking data is not available, then a determination ismade of whether the stride calibration has been completed (714). Asdiscussed in relation to FIG. 5, the initial user profile can be used toprovide an initial or improved speed vs. cadence curve, which can beused to determine the default stride calibration. The stride calibrationis then completed using the location data unit as described below.

If both 712 and 714 are negative, the inertial motion unit can beutilized to provide speed/distance data using the default stridecalibration as described below. A warning message can be generated andprovided to the user indicating that the data accuracy is limited sinceneither the location data nor the calibrated stride data are available(718). As illustrated in FIG. 3, the processor 330 receives inputs fromthe inertial motion unit 320. In the absence of a GPS signal, theprocessor receives signals originating in the accelerometer 224 so as toserve as a pedometer. The accelerometer 224 provides an accelerationsignal from which, in a manner known to one skilled in the art, theprocessor calculates the speed of the runner. By combining the speed ofthe runner with the time (e.g., a signal coming from the timer) theprocessor is able to calculate the distance covered by the runner.

This use of the inertial motion unit is particularly useful in case offailure of the location data unit (e.g., loss of the GPS signal) sincethe system can provide information on the distance covered by the user.Since the inertial motion unit can provide an indication of the stepsmade by the runner (e.g., steps per minute) it is possible to determinethe distance between two consecutive steps based on a previouscalibration that was recorded, thereby providing information despite thelocation information not being available.

If the stride calibration has been completed, then an optional warningmessage can be provided that the accuracy of the location data is notbased on the location data provided by the location data system but onlyon the stride data provided by the inertial motion unit (716). Since theinertial motion unit provides speed/distance data, it is possible toextrapolate GPS coordinates that may have been previously available andthus the route followed (as shown on a map) by combining stride data(distance) and a magnetometer signal (direction).

In the embodiment illustrated in FIG. 7A, it is possible to decrease theenergy consumption of the system by switching the location data unit onor off in a predetermined manner. As an example, the GPS signal can beswitched off by sending an activation/deactivation signal to the GPSmodule in an on demand manner in response to a user input, periodicallyat predetermined time intervals, non-periodically in a given sequence,or the like. When the location data unit is switched off, the inertialmotion unit provides inputs to the processor to track the user'sdistance traveled. When the location data unit is switched back on,providing the signal lock illustrated in 712, calibration can beperformed to refine the speed/distance output provided by the inertialmotion unit.

If the location tracking data is available at 712, then a determinationis made of whether stride calibration has been completed (720).Calibration being completed can be considered as the updates to thecalibration falling within a predetermined range. As the system operatesto improve the calibration as discussed in relation to 730, thecalibration will converge for the user and once the calibrationconverges to within a predetermined range, the calibration process canbe considered complete. If the stride calibration is not complete, thenan optional warning (722) can be generated that speed/distance data isbeing accumulated, but could be at a slow rate characterized bymeasurement latency. The information from the location data unit is thenused to record/provide (e.g., display) data related to the activity(740).

If the stride calibration has been completed (720), then the informationfrom the location data unit is used to improve the stride calibrationbased on the accurate location information that is available from thelocation data unit (730). Additional description related to populatingand refining the calibration table is provided in relation to FIG. 13.The refinement of the calibration data can be used to replace orcomplement the data provided by the inertial motion unit. For instance,if the GPS signal was not available at the beginning of the activity,the inertial motion unit could provide the initial speed/distance dataand the system could re-compute the total distance when a loop iscompleted by using GPS data in combination with the data from theinertial motion unit. In addition, during continuous calibration usingGPS data, the altitude, slope, terrain, and other variables can beaccounted for to improve the accuracy of the calibration table.

When the location data is available during use, it can be used tocalibrate the stride length table accordingly to the context, allowingthe stride value to be matched with the track conditions. As motionanalysis and altimeter data allow for context identification(rest-walk-run, uphill-level-downhill), the accuracy of the calibrationcan be improved. As an example use case, the first time the user usesthe system, for example, for a 10 mile run, the lack of GPS data at thebeginning of the run and the default speed/cadence model could producean output that the run was 9.5 miles in length. As the user subsequentlyuses the system, the improvements in the stride calibration will improvethe accuracy, increasing the output value for subsequent runs until the10 mile value is achieved.

If the activity is not completed (742), then the method loops back tothe determination of whether location data is available (712). If thelocation tracking data is not available (712) and the stride calibrationhas not been performed (714), then an optional warning message can beprovided that the accuracy of the data is low (718) before or inconjunction with the display of the data to the user (740). Sincereceipt of the location data will improve accuracy, conditions in whichthe stride calibration is not complete will typically only last duringthe initial phase of use of the system.

It should be appreciated that the specific steps illustrated in FIG. 7Aprovide a particular method of updating calibration data for a wearableelectronic device according to an embodiment of the present invention.Other sequences of steps may also be performed according to alternativeembodiments. For example, alternative embodiments of the presentinvention may perform the steps outlined above in a different order.Moreover, the individual steps illustrated in FIG. 7A may includemultiple sub-steps that may be performed in various sequences asappropriate to the individual step. Furthermore, additional steps may beadded or removed depending on the particular applications. One ofordinary skill in the art would recognize many variations,modifications, and alternatives.

FIG. 7B is a simplified flowchart illustrating a method of calibrating awearable electronic device including a location data unit and aninertial motion unit according to an embodiment of the presentinvention. The method includes initiating a calibration process for thewearable electronic device (750) and providing a calibration tableincluding default calibration data for the wearable electronic device(752). In some embodiments, the order of these elements can be reversedsince the wearable electronic device can include a default calibrationtable as delivered. The calibration table can include user speed asfunction of slope and stride frequency. As an example, the defaultcalibration data can include speed as a function of stride frequency fora default user or for a specific user.

The method also includes receiving, from the location data unit,location data associated with the wearable electronic device as afunction of time (754) and receiving, from the inertial motion unit,user stride data as a function of time (756). In some embodiments, thelocation data and the user stride data are received concurrently. Asexamples, the user stride data can include a contact time, a step cycletime, and a contact time ratio. This data can further include a flighttime and a flight time ratio. Given the location data, the methodcomputes a travel speed of the wearable electronic device based on thelocation data (758). Given the travel speed and the user stride data,the calibration table is updated (760). Information associated with thecalibration table can be provided to the user. As an example, providinginformation can include displaying the information to the user using adisplay or a set of LEDs, playing an audio signal associated with thecalibration table, or the like.

In some embodiments, the calibration process can be continued (760),which can improve the quality of the data in the calibration table asthe location data and user stride data are collected and analyzed in aniterative manner. For example, continuing the calibration process caninclude iteratively receiving location data as a function of time duringa later stage of the calibration process (754) and receiving user stridedata as a function of time at this later stage (756). Given the locationdata and the user stride data, the travel speed is computed (758) andthe calibration table is updated (760). When the calibration process isno longer continued, for example, when the changes to the calibrationtable fall below a given threshold, then the calibration process iscomplete (762).

It should be appreciated that the specific steps illustrated in FIG. 7Bprovide a particular method of calibrating a wearable electronic deviceincluding a location data unit and an inertial motion unit according toan embodiment of the present invention. Other sequences of steps mayalso be performed according to alternative embodiments. For example,alternative embodiments of the present invention may perform the stepsoutlined above in a different order. Moreover, the individual stepsillustrated in FIG. 7B may include multiple sub-steps that may beperformed in various sequences as appropriate to the individual step.Furthermore, additional steps may be added or removed depending on theparticular applications. One of ordinary skill in the art wouldrecognize many variations, modifications, and alternatives.

FIG. 7C is a simplified flowchart illustrating a method of determiningtravel speed of a user according to an embodiment of the presentinvention. The user is wearing a wearable electronic device including aninertial motion unit and a location data unit during implementation ofthe method. The method includes receiving, from the inertial motion unitof the wearable electronic device, user stride data (770). The methodalso includes determining that location data is temporarily unavailablefrom the location data unit (772). The location data can be temporarilyunavailable during a time prior to a time to first fix (TTFF) for thelocation data unit. Alternatively, the location data can be availableduring an early portion of the activity and then become unavailable, forexample, as a result of shadows cast by buildings. In this case in whichthe location data is initially available and then temporarilyunavailable, the travel speed can initially be computed using both userstride data and location data, be computed using user stride data whenthe location data is unavailable, and computed again using both userstride data and location data when the location data is available again.Thus, the travel speed can be updated throughout the process dependingon the data that is available.

The method also includes computing travel speed using informationrelated to the user stride data (774) since the location data isunavailable. Thereafter, the method includes determining that thelocation data is available from the location data unit (776). Asdescribed above, the TTFF could have passed, the wearable electronicdevice could have emerged from a tunnel, or the like. Since the locationdata is now available, the method includes computing an updated travelspeed using information related to the location data (778) and providingthe user with the updated travel speed (780).

It should be appreciated that the specific steps illustrated in FIG. 7Cprovide a particular method of determining travel speed of a useraccording to an embodiment of the present invention. Other sequences ofsteps may also be performed according to alternative embodiments. Forexample, alternative embodiments of the present invention may performthe steps outlined above in a different order. Moreover, the individualsteps illustrated in FIG. 7C may include multiple sub-steps that may beperformed in various sequences as appropriate to the individual step.Furthermore, additional steps may be added or removed depending on theparticular applications. One of ordinary skill in the art wouldrecognize many variations, modifications, and alternatives.

FIG. 7D is a simplified flowchart illustrating a method of conservingbattery power for a wearable electronic device according to anembodiment of the present invention. The method includes receiving userstride data and user location data associated with the wearableelectronic device (790). The user stride data can be generated using theinertial motion unit of the wearable electronic device and the userlocation data can be generated using the location data unit of thewearable electronic device.

The method also includes computing a travel speed for the user as afunction of the user stride data and the location data (792). Asdiscussed in relation to FIG. 13, the combination of user stride dataand user location data can provide information useful in calibrating auser-specific table characterizing the user's stride/speed as a functionof a number of variables.

The method further includes deactivating the location data unit (794).In some embodiments, the method includes receiving an indication todeactivate the location data unit of the wearable electronic deviceprior to the deactivation. The indication to deactivate the locationdata unit can be associated with a battery level of the wearableelectronic device. As an example, in order to save battery power, theuser could provide an instruction to deactivate the location data unit.Alternatively, the power level of the battery could be monitored and aprocessor could provide an instruction (e.g. an automatic instruction)to deactivate the location data unit when the battery power drops belowa threshold value. In yet another implementation, the indication todeactivate the location data unit could be provided periodically oncethe calibration table has been updated to an acceptable level. One ofordinary skill in the art would recognize many variations,modifications, and alternatives.

The method includes computing an updated travel speed for the user as afunction of the user stride data (796). Since the location data unit hasbeen deactivated, the inertial motion unit can provide the stride dataat low power while still achieving acceptable speed/stride accuracy. Insome embodiments, the method further includes providing the user withthe travel speed and the updated travel speed.

In an optional process, the method further includes, after computing theupdated travel speed, receiving an indication to reactivate the locationdata unit of the wearable electronic device and reactivating thelocation data unit (798). The reactivation, similar to the deactivation,can be performed in response to user input, in response to a batterylevel, on a periodic basis, or the like. Once the location data unit isreactivated, new user location data can be received and another updatedtravel speed can be computed for the user as a function of the userstride data and the new user location data (799). In this case, the usercan be provided with the another updated travel speed.

It should be appreciated that the specific steps illustrated in FIG. 7Dprovide a particular method of conserving battery power for a wearableelectronic device according to an embodiment of the present invention.Other sequences of steps may also be performed according to alternativeembodiments. For example, alternative embodiments of the presentinvention may perform the steps outlined above in a different order.Moreover, the individual steps illustrated in FIG. 7D may includemultiple sub-steps that may be performed in various sequences asappropriate to the individual step. Furthermore, additional steps may beadded or removed depending on the particular applications. One ofordinary skill in the art would recognize many variations,modifications, and alternatives.

FIG. 8A is a plot illustrating fusion of inertial motion unit data andlocation data unit data according to an embodiment of the presentinvention. In FIG. 8A, curve 810 represents the target speed during aninterval training routine, curve 820 represents the location data unitdata during the training routine, curve 830 represents the inertialmotion unit data during the training routine, and curve 840 representsthe fusion of the inertial motion unit data and the location data unitdata.

Referring to FIG. 8A, during interval training, the runner alternatesbetween periods of high and low speeds, i.e., high intensity periods andlow-intensity periods. Such intervals can be as short as few tens ofseconds to several minutes. When intervals are short, the location datareacts slowly to the change in speed as illustrated by the slow rise 822in the location data unit data 820 when the target speed increasesrapidly. In contrast, the inertial motion unit data 830 tracks closelywith the target speed at the beginning of the interval, indicating thatthe runner has increased the speed as desired. A similar effect isobserved at the end of the high speed interval, when the location dataunit data lags significantly whereas the inertial motion unit datatracks closely as the speed decreases to the low speed level.

During the middle and the end of the high speed interval, the speedstabilizes at the target speed and the location data unit data providesan accurate measure of the runner's speed at the end of the high speedportion of the interval. Accordingly, the fusion signal 840 utilizes theinertial motion unit data during the initial phase of the interval andthen transitions to the location data unit data during the middle phaseof the interval. At the end of the interval, the inertial motion unitdata is utilized to determine the end of the interval. As discussedherein, the inertial motion unit data can be utilized to compensate forerrors in the location data unit data or absence of the location dataunit data in a similar manner to the interval training exampleillustrated in FIG. 8A, for example, in the case of loss of the GPSsignal.

FIG. 8B is a simplified flowchart illustrating a method of determininginterval duration for a user during interval training according to anembodiment of the present invention. The method is performed inconjunction with a wearable electronic device that includes an inertialmotion unit and a location data unit. The method includes setting atarget speed for the user during a high intensity portion of intervaltraining (850) and receiving, from the inertial motion unit of thewearable electronic device, user stride data (852). During the initialportion of the high intensity part of the interval, the location datalags as illustrated by slow rise 822 in FIG. 8A. Therefore, although theseries of location data collected over time indicate that the user isincreasing their speed as the speed based on location data increases,this slow rise in speed is due to lag in the location data and does notactually represent the speed of the user.

Accordingly, the start time for the high intensity portion is set usingthe user stride data (854). As the interval progresses, the locationdata, which is received from the location data unit, includes a seriesof location data for the user (856). The location data can be receivedthroughout the interval and will include data points for the locationsas the user moves during the interval. Thus, although 856 follows 852 inFIG. 8B, this is not required by the present invention and both userstride data and location data can be received throughout the interval.

As the location data experiences reduced lag as the high intensityportion of the interval progresses, the speed determined using thelocation data will stabilize, enabling the determination, based on theseries of location data, that the user has reached the target speed(858). As an example, determining that the user has reached the targetspeed can include determining that a variation in the user speed is lessthan a predetermined threshold as illustrated in the late stages of theinterval illustrated in FIG. 8A. In other embodiments, the measuredspeed and the target speed are compared and when the differencedecreases below a threshold, the determination is made that the targetspeed has been reached.

The method further includes setting a stop time for the high intensityportion using the user stride data (860) and determining the intervalduration as equal to the difference between the stop time and the starttime (862). Referring to FIG. 8A, the user stride data tracks closelywith the target speed at the onset and the completion of the highintensity portion. Accordingly, the user stride data is used to definethe stop and start times while the location data, which may predictspeed more accurately than achieved using the user stride data, can beused to determine the speed of the user during the interval. Given theinterval duration and speed, the distance covered by the user and thespeed of the user during the intervals can be accurately measured andreported to the user.

It should be appreciated that the specific steps illustrated in FIG. 8Bprovide a particular method of determining interval duration for a userduring interval training according to an embodiment of the presentinvention. Other sequences of steps may also be performed according toalternative embodiments. For example, alternative embodiments of thepresent invention may perform the steps outlined above in a differentorder. Moreover, the individual steps illustrated in FIG. 8B may includemultiple sub-steps that may be performed in various sequences asappropriate to the individual step. Furthermore, additional steps may beadded or removed depending on the particular applications. One ofordinary skill in the art would recognize many variations,modifications, and alternatives.

FIG. 13 is a simplified flowchart illustrating a method of updating acalibration table for a wearable electronic device according to anembodiment of the present invention. The wearable electronic deviceincludes a location data unit (e.g., a GPS location unit) and aninertial motion unit, for example, as illustrated in FIG. 4A.

The method includes providing a default calibration table that includesdefault calibration data for the user (1310). The default calibrationdata can be generic, customized to the user based on gender and height,additional demographic information related to the user that places theuser in a sub-group of the population, or the like. The method alsoincludes receiving, from the location data unit, location dataassociated with the wearable electronic device as a function of time andcomputing a travel speed of the user based on the location data (1312).In some implementations, the location data unit is able to generate notonly location data, but the travel speed data as well, enabling onlyspeed data to be received from the location data unit.

The method further includes receiving, from the inertial motion unit,user stride data as a function of time (1314) and slope data (1316). Theuser stride data can be based on outputs of the accelerometer and theslope data can be based on outputs of the atmospheric pressure sensor,both of which are included in the inertial motion unit. As an example,stride frequency can be provided as user stride data. Given the userstride data, the processor computes stride metrics (1318). The stridemetrics can include contact time ratio, flight time ratio, stridefrequency, and the other metrics discussed in relation to FIG. 12. Aswill be evident to one of skill in the art, depending on the output ofthe inertial motion unit, user stride data and/or stride metrics may beprovided or computed. One of ordinary skill in the art would recognizemany variations, modifications, and alternatives.

The travel speed and the stride metrics are then used to update thecalibration table (1320). In some embodiments, the data from the updatedcalibration table is provided to the user, for example, is displayed tothe user. The updating of the calibration table can include populatingtravel speed fields as a function of stride frequency and slope data asillustrated in FIG. 14. In other embodiments, computational models arebuilt similar to those illustrated in FIG. 11 to provide amulti-dimensional model of the user's travel speed as a function of theillustrated variables. Therefore, the table illustrated in FIG. 14 ismerely exemplary and embodiments of the present invention are notlimited to this implementation, but can incorporate other methods ofmapping the user's stride to their speed.

It should be appreciated that the specific steps illustrated in FIG. 13provide a particular method of updating a calibration table for awearable electronic device according to an embodiment of the presentinvention. Other sequences of steps may also be performed according toalternative embodiments. For example, alternative embodiments of thepresent invention may perform the steps outlined above in a differentorder. Moreover, the individual steps illustrated in FIG. 13 may includemultiple sub-steps that may be performed in various sequences asappropriate to the individual step. Furthermore, additional steps may beadded or removed depending on the particular applications. One ofordinary skill in the art would recognize many variations,modifications, and alternatives.

In summary, as discussed above and illustrated in FIG. 13, embodimentsof the present invention provide methods for populating a calibrationtable. The methods provide a way of improving the calibration tablevalues using sensor data. The methods include receiving speed data fromthe location data unit and stride data (e.g., stride frequency) from theinertial motion unit that are integrated in the wearable electronicdevice. Data used during the calibration can include the flight timeratio that is computed based on data received from the accelerometer ofthe inertial motion unit and the slope variation from the pressuresensor. The flight time ratio data enables the system to improve theaccuracy of the speed when low stride frequencies are measured.

Using this data, the user's speed as a function of the receivedvariables is computed and the speed value is populated in thecalibration table as a function of the independent variables. Asillustrated in FIG. 14, in an embodiment, the speed is a function of thestride frequency and the slope, but higher dimension tables are includedwithin the scope of the present invention as additional independentvariables, including altitude, are utilized. One of ordinary skill inthe art would recognize many variations, modifications, andalternatives.

FIG. 14 is a calibration table for an inertial motion unit according toan embodiment of the present invention. As illustrated in FIG. 14, thespeed is the dependent variable, with slope, and stride frequency as theindependent variables. Other independent variables can be included suchas stride length, cadence, flight time, contact time, flight time ratio,impact force, and the like. As will be evident to one of skill in theart, the dependent and independent variables can be switched while stillimplementing the methods described herein.

The calibration table will be filled and updated as data are madeavailable, providing a user-dependent calibration that improves overtime to match the user's characteristics. As a result, highly accuratespeed estimation is provided by embodiments of the present invention.

Triggering a Function Using Head Movements

Some conventional wearable electronic devices require complexinteractions requiring users to stop or interrupt what they are doing toset the electronic device to a desired setting. For instance, a user mayhave to press a button on a watch or wristband to start a timer. Inother devices, a user may have to physically access a user-interface tobegin a recording on a wearable recording device. This can be verydistracting and, in some cases, may not be possible. For example, a usermay want to control a helmet mounted device while driving a motorizedvehicle.

Thus, certain embodiments of the invention are directed towardshands-free user-interface to trigger one or more functions on ahead-mounted electronic device. More specifically, head gestures can bedetected by a head-mounted electronic device (e.g., via gyroscope,accelerometer, etc.) where certain specific movements (e.g., head tilts)can be used to trigger functions without requiring a user to physicallytouch a user interface. Some triggered functions include, but are notlimited to, turning on a heads-up display, starting/stopping a timer,starting/stopping an audio and/or video recording, launching anapplication, activating or deactivating certain functions like anon-board GPS, communication block, power saving feature, or any othersuitable function(s) controlled by or associated with the head-mountedelectronic device. The triggering operation (movement) can be selectedsuch that it is not normally performed naturally, which can reduce thechance of a false positive trigger. Some specific movements are furtherdiscussed below with respect to FIG. 17A.

FIG. 16 shows a user 1610 wearing a head-mounted electronic device 100implemented in a form factor of a pair of eye glasses, which includes amicro-projection component 102 and control component 103 (not shown) forprojecting an image that is viewable to the user's eye, as shown inFIG. 1. In some embodiments, the various electronic components ofhead-mounted electronic device 100 can be integrated in any suitablehead-mounted apparatus including, but not limited to, eye wear (e.g.,glasses, goggles, etc.), hats, visors, helmets (see, e.g., FIG. 17C),ear pieces (with an arm to bring the micro-projection component to theuser's eye), or the like. As mentioned above, micro-projection component102 can display information to the user in any suitable format (e.g.,heads up display). Audio and/or haptic output capabilities and memoryresources (e.g., for recording) may be integrated into head-mountedelectronic device 100.

Referring back to FIG. 16, a user 1610 is shown wearing electronicdevice 100 with three principal axis of rotation superimposed thereon,including pitch 1650, yaw 1660, and roll 1670. Pitch (i.e., lateral ortransverse axis) passes through the plane from ear to ear. Changes inpitch move the user's head up and down. A positive pitch angle raisesthe user's face upwards, and a negative pitch lowers the user's facedownwards.

Yaw is a vertical axis that is defined to be perpendicular to the linebetween the ears with its origin at the center of the user's head anddirected straight down toward the user's feet. Yaw moves the personshead from side to side. A positive yaw moves the head to the right. Anegative yaw moves the head to the left. That is, yaw based movementsare lateral turning movements of the head with no tilt.

Roll is a longitudinal axis that passes through the user's head fromnose to the back of the head. A positive roll angle tilts the head tothe right. A negative roll angle tilts the head to the left. That is,roll based movements tilt the head left or right without causing thehead to laterally turn (i.e., the head remains facing forward throughroll movement).

FIG. 17A shows a user 1610 performing a triggering operation on ahead-mounted electronic device, according to certain embodiments of theinvention. A triggering operation can occur in response to one or morespecific head movements made by the user. Preferably, the specific headmovement(s) do not commonly occur to minimize any false positivetriggering operations. For instance, natural movements typically involvemovements in two or three axes of rotation (e.g., pitch, yaw, roll).Therefore, some embodiments perform a triggering operation in responseto a user moving his head (and thus the head-mounted electronic device)in a single axis of rotation.

In some embodiments, a trigger operation is detected when the userpitches his head straight forward (i.e., single axis of rotation) beyonda predetermined threshold angle. That is, the movement includes anegative pitch rotation with negligible yaw (left/right head turns) orroll (left/right head tilts) movements. In practice, it may be difficultto perform movements in exactly one axis of rotation, thus certaintolerances may be allowed. For instance, the yaw and/or roll movementsthat are less than +/−1 degree of rotation may be processed as nomovement conditions in their respective axes. Any suitable “no movement”or “zero” threshold angle can be used (e.g., +/−0.5°, +/−1.5°, +/−2°,+/−3°, etc.). “No movement” thresholds may be symmetrical (e.g., +/−1°)or asymmetrical (e.g., +1° and)−1.5°. It should be noted that whilesmaller threshold angles may reduce false positive triggers (inadvertenttriggers made by a user), it may increase the difficulty for users toconsistently and reliably perform a trigger operation.

Referring back to FIG. 17A, a user performs a trigger operation bymoving his head in a single axis (i.e., negative pitch) beyond apredetermined angle of 10°, with no appreciable yaw or roll movements(e.g., less than 1° of movement). A natural range of motion for headpitch can be +/−25°. In FIG. 17A, the predetermined threshold angle fortriggering an operation is 10°, although any suitable angle may be used(e.g., 9°, 11°, 12°, 15°, etc.). Alternatively, a trigger operation canoccur in response to single axis movement involving a negative pitch, apositive or negative yaw, or a positive or negative roll. For instance,a triggering operation may occur in response to a single-axis positiveyaw of 75°. The natural range of motion of a user's head for asingle-axis yaw or roll movement would be known by one of ordinary skillin the art, as well as a suitable corresponding predetermined thresholdangle. In some embodiments, multiple movements may be required toperform a trigger operation. For example, a trigger operation mayrequire a user to pitch their head forward beyond a predetermined angleand then pitch their head backwards by the same amount. Such single-axismulti-movement triggers may have symmetrical or asymmetrical thresholdangle requirements (e.g., 10° pitch forward and 8° pitch backwards).

As mentioned above, limiting a triggering operation to single-axismovements can eliminate most false triggering conditions. However, somesituations may occur where a user might perform a single-axis movementwithout intending to perform a trigger operation. For instance, a falsepositive trigger operation may occur in response to a user running downa steep hill or walking down a flight of steps since the user's head maybe pitched downwards beyond the predetermined threshold to see wherethey are going. Thus, certain embodiments include a timing element usedin conjunction with a single-axis movement to perform a triggeroperation. For instance, some embodiments may require a pitch movementbeyond the predetermined threshold to occur within a predetermined timeperiod (e.g., within 1 second). Any suitable time period can be used.Faster time periods (e.g., <1 sec) can reduce the number of falsepositive trigger operations. More time may be allowed for triggeroperations requiring multiple movements. Symmetrical and asymmetricaltimings may be employed for multiple movements (e.g., 1 sec for apositive pitch greater than a predetermined angle, and 0.5 sec for anegative pitch). In some implementations, the predetermined thresholdangle is measured relative to a static reference (e.g., 0° horizon).Alternatively, the predetermined threshold can be measured relative to astarting point. This can eliminate false positive trigger operationsthat may occur when a user is on a pitched surface. For example, if auser is walking down a steep pathway with his head already at set at anegative pitch, a trigger operation may only occur in response to apitch movement at or beyond the predetermined threshold relative to thestarting pitch. This can be supplemented with a timing measurement, orany of the myriad solutions and permutations addressed above.

In some embodiments, rotational movement can be measured by a gyroscope.Timing can be measured by a processor or other suitable time measuringdevice. Alternatively, timing can be indirectly measured by anaccelerometer, as acceleration is a measurement of a change in velocitywith respect to time, as would be appreciated by one of ordinary skillin the art.

FIG. 17B shows an example of a no-trigger operation on a head-mountedelectronic device, according to certain embodiments of the invention.The user is shown diverting his attention to the side. The movementinvolves three axes of rotation including the head turning to the right(negative yaw), tilting to the right (positive roll), and some downwardsmovement (positive pitch). Thus, no trigger operation is detectedbecause the pitch rotation is less than the predetermined thresholdangle and the yaw and roll rotations are greater than the zero thresholdangle, as discussed above. The user is shown wearing head-mountedelectronic device 100. It should be understood that the conceptsdescribed herein and throughout this application can be applied to ahead-mounted electronic device having any suitable form factor.

FIG. 17C shows a second example of a no-trigger operation on ahead-mounted electronic device, according to certain embodiments of theinvention. The user is shown diverting his attention to the side. Themovement involves at least two axes of rotation with the user moving hishead to the left (positive yaw), very little head tilt (positive roll),and some movement in pitch. In this example, a no trigger operation isdetected because the pitch rotation is less than the predeterminedthreshold angle and the yaw rotation is greater than the zero thresholdangle, as discussed above. The roll may be negligible (i.e., below thezero threshold angle), but it does not affect change the no-triggercondition. The user is shown wearing head-mounted electronic device witha form factor of a helmet.

FIG. 18 depicts a simplified flow diagram illustrating aspects of amethod 1800 of triggering a function on a head-mounted electronicdevice, according to certain embodiments of the invention. Method 1800is performed by processing logic that may comprise hardware (e.g.,circuitry, dedicate logic, processors, accelerometers, gyroscopes,etc.), software (which is run on a general purpose computing system or adedicated machine), firmware (embedded software), or any combinationthereof. In one embodiment, method 1800 is performed by controlcomponent 1910 of FIG. 19.

Referring to FIG. 18, method 1800 begins with receiving movement datafrom a first device corresponding to a movement of an input device (step1810). The movement data can include pitch movement data, yaw movementdata, and roll movement data. Movement data can include displacementdata, rotational data, or both. The first device can be a gyroscope orother suitable device that can measure an orientation and/or movement ofthe input device.

Step 1820 includes receiving acceleration data from a second devicecorresponding to an acceleration of the input device. The second devicecan be an accelerometer or any suitable device(s) that can directly orindirectly measure an acceleration of the input device. Both the firstand second devices may be disposed in the input device. The head-mountedinput device may be eyewear, headwear (e.g., helmet, visor, hat, etc.),or other head-mounted form factor.

Step 1830 includes detecting a motion of the input device from areference position based on the movement data and acceleration data. Thereference position can be an absolute reference position (e.g., zerodegrees in pitch, yaw, and/or roll), a previous position (e.g., anorientation measured immediately prior to movement, or the like. Themotion can be defined by a pitch movement from the reference positionthat exceeds a first predetermined movement threshold value, a yawmovement from the reference position that is below a secondpredetermined movement threshold value, and a roll movement from thereference position that is below a third predetermined movementthreshold value. In some embodiments, the first predetermined movementthreshold value can be 10°, although other thresholds can be used asdiscussed above. The second and third predetermined movement thresholdvalues (also referred to as a “no movement” or “zero” threshold angle)can be any suitable value. The second and third predetermined thresholdvalues can be equal or different in magnitude and/or direction.

In some cases, detecting a motion of the input device further includesdetecting that the pitch movement has an acceleration greater than apredetermined acceleration threshold value. This can be measured invelocity or in time. For instance, the predetermined accelerationthreshold value may be 1 second. That is, the pitch movement has to meetor exceed the first predetermined movement threshold value within 1second, or other suitable time frame, as further discussed above.

In some embodiments, the pitch movement can be a first pitch movement,where the motion is further defined by a second pitch movement oppositein direction from the first pitch movement that exceeds the firstpredetermined movement threshold value. For example, a user may berequired pitch his head forward and back again according to theircorresponding predetermined threshold angles.

Step 1840 includes triggering a function on the input device in responseto detecting the motion. One or more functions on the input device orassociated with the input device can be triggered. Some examples oftriggered functions can include turning on a heads-up display,starting/stopping a timer, starting/stopping an audio and/or videorecording, launching an application, activating or deactivating certainfunctions like an on-board GPS, communication block, power savingfeature, toggling functions on/off, placing a flag on a route in a mapapplication, or any other suitable function(s) controlled by orassociated with the head-mounted electronic device.

It should be appreciated that the specific steps illustrated in FIG. 18provide a particular method of triggering a function on a head-mountedinput device, according to an embodiment of the present invention. Othersequences of steps may also be performed according to alternativeembodiments. For instance, in some embodiments, individual steps can beperformed in a different order, at the same time, or any other sequencefor a particular application, as noted above. Moreover, the individualsteps illustrated in FIG. 18 may include multiple sub-steps that may beperformed in various sequences as appropriate to the individual step.Furthermore, additional steps may be added or removed depending on theparticular applications. The various electronics, hardware, software,etc., used to implement the method can vary, as further describedelsewhere. One of ordinary skill in the art would recognize andappreciate many variations, modifications, and alternatives of themethod.

FIG. 19 is a simplified block diagram of a system 1900 configured tooperate a wearable electronic device 100, which can also be referred toas a head-mounted input device or an input device, according to anembodiment of the invention. System 1900 includes control component1910, display device 1920, power management system 1930, communicationsystem 1940, trigger detection logic 1950, accelerometer(s) 1960, andgyroscope(s) 1970. Each of the system blocks 1920-1970 can be inelectrical communication with the control component 1910. System 1900may further include additional systems that are not shown or discussedto prevent obfuscation of the novel features described herein.

In certain embodiments, control component 1910 comprises one or moremicroprocessors (μCs) and can be configured to control the operation ofsystem 1900. Alternatively, control component 1910 may include one ormore microcontrollers (MCUs), digital signal processors (DSPs), or thelike, with supporting hardware and/or firmware (e.g., memory,programmable I/Os, etc.), as would be appreciated by one of ordinaryskill in the art with the benefit of this disclosure. Alternatively,MCUs, μCs, DSPs, ASICs, FPGAs, and the like, may be configured in othersystem blocks of system 1900. For example, trigger detection logic block1950 may include a local processor to process trigger detection. In someembodiments, multiple processors may provide an increased performance insystem 1900 speed and bandwidth. It should be noted that althoughmultiple processors may improve system 1900 performance, they are notrequired for standard operation of the embodiments described herein.

Display device 1920 can display images generated by electronic device100. Display device 1920 can include various image generationtechnologies, e.g., liquid crystal display (LCD), light emitting diode(LED) including organic light emitting diodes (OLED), projection system,or the like, together with supporting electronics (e.g.,digital-to-analog or analog-to-digital converters, signal processors, orthe like), indicator lights, speakers, tactile “display” devices,headphone jacks, and so on.

Power management system 1930 can be configured to manage powerdistribution, recharging, power efficiency, and the like, for inputdevice 100. In some embodiments, power management system 1930 caninclude a battery (not shown), a USB based recharging system for thebattery (not shown), power management devices (e.g., low-dropout voltageregulators—not shown), and a power grid within system 1900 to providepower to each subsystem (e.g., accelerometers 1970, gyroscopes 1960,etc.). In certain embodiments, the functions provided by powermanagement system 1930 may be incorporated into the control component1910.

Communications system 1940 can be configured to provide wirelesscommunication with other devices and/or peripherals, according tocertain embodiment of the invention. Communications system 1940 can beconfigured to provide radio-frequency (RF), Bluetooth, infra-red, orother suitable communication technology to communicate with otherwireless devices. System 1940 may optionally comprise a hardwiredconnection to a computing device. For example, input device 100 can beconfigured to receive a Universal Serial Bus (USB) cable to enablebi-directional electronic communication with a computing device or otherexternal devices. Some embodiments may utilize different types of cablesor connection protocol standards to establish hardwired communicationwith other entities.

Trigger detection logic block 1950 can be a storage subsystem that canstore one or more software programs to be executed by processors (e.g.,in control component 1910). It should be understood that “software” canrefer to sequences of instructions that, when executed by processingunit(s) (e.g., processors, processing devices, etc.), cause system 1900to perform certain operations of software programs. The instructions canbe stored as firmware residing in read only memory (ROM) and/orapplications stored in media storage that can be read into memory forprocessing by processing devices. Software can be implemented as asingle program or a collection of separate programs and can be stored innon-volatile storage and copied in whole or in-part to volatile workingmemory during program execution. From a storage subsystem, processingdevices can retrieve program instructions to execute in order to executevarious operations, as described herein. For instance, trigger detectionlogic block 1950 may include instructions to perform various functionsincluding receiving movement data from gyroscope(s) and/oraccelerometer(s) to determine if a trigger condition exists, asdescribed in greater detail above. In an embodiment, trigger detectionlogic block 1950 performs the steps of method 1800 of FIG. 18.

In certain embodiments, accelerometers 1960 and gyroscopes 1970 can beused for movement and/or orientation detection. Accelerometers can beelectromechanical devices (e.g., micro-electromechanical systems (MEMS)devices) configured to measure acceleration forces (e.g., static anddynamic forces). One or more accelerometers can be used to detect threedimensional (3D) positioning. Gyroscopes can measure its orientation intwo or three dimensional space. They can be integrated within MEMSdevices or can be separate discrete components. The use and operation ofaccelerometers and gyroscopes are understood by those of ordinary skillin the art.

Although certain necessary systems may not expressly discussed, theyshould be considered as part of system 1900, as would be understood byone of ordinary skill in the art. For example, system 1900 may include abus system to transfer power and/or data to and from the differentsystems therein. Other modules and functions can be included, as wouldbe appreciated by one of ordinary skill in the art.

It should be appreciated that system 1900 is illustrative and thatvariations and modifications are possible. System 1900 can have othercapabilities not specifically described here. Further, while system 1900is described with reference to particular blocks, it is to be understoodthat these blocks are defined for convenience of description and are notintended to imply a particular physical arrangement of component parts.Further, the blocks need not correspond to physically distinctcomponents. Blocks can be configured to perform various operations,e.g., by programming a processor or providing appropriate controlcircuitry, and various blocks might or might not be reconfigurabledepending on how the initial configuration is obtained. Embodiments ofthe present invention can be realized in a variety of apparatusesincluding electronic devices implemented using any combination ofcircuitry and software. Furthermore, aspects and/or portions of system1900 may be combined with or operated by other sub-systems as requiredby design. Furthermore, system 1900 can incorporate aspects of thesystems described in FIGS. 3, 4A, and 4B. That is, the various modules,components, hardware, software, firmware, etc., can be combined, aswould be appreciated by one of ordinary skill in the art with thebenefit of this disclosure.

It is also understood that the examples and embodiments described hereinare for illustrative purposes only and that various modifications orchanges in light thereof will be suggested to persons skilled in the artand are to be included within the spirit and purview of this applicationand scope of the appended claims.

It is also understood that the examples and embodiments described hereinare for illustrative purposes only and that various modifications orchanges in light thereof will be suggested to persons skilled in the artand are to be included within the spirit and purview of this applicationand scope of the appended claims.

What is claimed is:
 1. A method for providing a control input based onmovement of a head mounted device, comprising: providing, by anorientation sensor mounted in the head mounted device, signalscorresponding to the orientation of the head mounted device, includingpitch orientation data; yaw orientation data; and roll orientation data;providing, by an acceleration sensor mounted in the head mounted device,acceleration data corresponding to an acceleration of the head mounteddevice; detecting, with a processor mounted in the head mounted deviceand coupled to the orientation sensor and the acceleration sensor, apitch trigger motion of the head mounted device from the accelerationdata from the acceleration sensor relative to a reference position basedon the pitch, yaw and roll orientation data, the pitch trigger motionoccurring within a predetermined time period and defined by: a firstpitch movement from the reference position that exceeds a firstpredetermined movement threshold value, the first pitch movement havingan acceleration greater than a predetermined acceleration thresholdvalue; a yaw movement from the reference position that is below a secondpredetermined movement threshold value, the second predeterminedmovement threshold value being less than or equal to one third the firstpredetermined movement threshold value; and a roll movement from thereference position that is below a third predetermined movementthreshold value, the third predetermined movement threshold triggering afunction on the head mounted device in response to detecting the pitchtrigger motion, the function being a function requiring a user input inthe form of a head gesture as detected by the pitch trigger motion, thefunction being one of turning on a heads-up display, starting/stopping atimer, starting/stopping an audio and/or video recording and launchingan application.
 2. The method of claim 1 wherein the orientation sensoris a gyroscope and the acceleration sensor is an accelerometer.
 3. Themethod of claim 1 wherein the reference position is at an angle tovertical.
 4. The method of claim 1 wherein the function further includesa display of information on a heads-up display of the head mounteddevice.
 5. The method of claim 1 wherein the head-mounted device is oneof a helmet, hat, glasses or visor.
 6. The method of claim 1 wherein thefirst, second, and third predetermined threshold values are an anglerelative to the reference position.
 7. The method of claim 1 wherein thepitch motion is further defined by a second pitch movement opposite indirection from the first pitch movement that exceeds the firstpredetermined movement threshold value.
 8. The method of claim 1 whereinthe second and third movement threshold values are equal.
 9. The methodof claim 1 wherein the function further includes at least one ofdisplaying data on a display, or toggling the function on or off.
 10. Asystem comprising: a head-mounted device; a processor coupled with thehead-mounted device; a gyroscope coupled with the head-mounted deviceand controlled by the processor, the gyroscope being operable to trackan orientation of the head-mounted device and provide orientation dataincluding: a pitch of the head-mounted device; a yaw of the head-mounteddevice; and a roll of the head-mounted device; an accelerometer coupledwith the head-mounted device and controlled by the processor, theaccelerometer being operable to track an acceleration of thehead-mounted device; and a display device coupled with the head-mounteddevice, a memory coupled to the processor, the memory havinginstructions to cause wherein the processor to trigger a function of thedisplay device in response to detecting a movement of the head-mounteddevice relative to a reference position based on the pitch, yaw and rollorientation data, the function being a function requiring a user inputin the form of a head gesture as detected by the pitch trigger motion,the pitch motion occurring within a predetermined time period and beingdefined by: a rotation in pitch greater than a first predeterminedthreshold angle relative to an initial position; a rotation in yaw belowa second predetermined threshold angle relative to the initial position,the second predetermined movement angle being less than or equal to onethird the first predetermined movement threshold angle; and a rotationin roll below a third predetermined threshold angle relative to theinitial position, the third predetermined threshold angle being lessthan or equal to one third the first predetermined threshold angle;wherein the function is one of turning on a heads-up display,starting/stopping a timer, starting/stopping an audio and/or videorecording, launching an application, activating or deactivating anon-board GPS, communication block or power saving feature.
 11. Thesystem of claim 10 wherein both the gyroscope and the accelerometer aredisposed in the head-mounted device.
 12. The system of claim 10 whereinthe head-mounted device is at least one of eye wear, a helmet, a hat, ora visor.
 13. The system of claim 10 wherein the rotation in pitch is afirst rotation in pitch, and wherein the input is further defined by asecond rotation in pitch opposite in direction from the first rotationin pitch that exceeds the first predetermined movement threshold value.14. A method comprising: providing, by an orientation sensor mounted onan input device, to a processor mounted in the head mounted device andcoupled to the orientation sensor, orientation data from the orientationsensor corresponding to an orientation of the input device, theorientation data including pitch orientation data; providing, by anacceleration sensor mounted on the input device and coupled to theprocessor, to the processor, acceleration data from a the accelerationsensor corresponding to an acceleration of the input device; detecting amotion of the input device from a reference position based on theorientation data, the motion defined by: a pitch movement from thereference position in a first direction that exceeds a predeterminedorientation threshold value, the pitch movement having an accelerationto exceed the predetermined orientation threshold value within onesecond; and a pitch movement from the reference position in a seconddirection opposite from the first that exceeds the predeterminedorientation threshold value; and triggering a function on the inputdevice in response to detecting the motion, the function being one ofturning on a heads-up display, starting/stopping a timer,starting/stopping an audio and/or video recording, launching anapplication, activating or deactivating an on-board GPS, communicationblock or power saving feature.
 15. The method of claim 14 wherein theorientation sensor is a gyroscope and the acceleration sensor is anaccelerometer.
 16. The method of claim 14 wherein the reference positionis at an angle to vertical.
 17. The method of claim 14 wherein the inputdevice is eye wear.
 18. The method of claim 14 wherein the input deviceis one of a helmet, hat, or visor.
 19. The method of claim 14 whereinthe first, second, and third predetermined threshold values are an anglerelative to the reference position.
 20. The method of claim 14 whereinthe function further includes at least one of displaying data on adisplay, or toggling the function on or off.